Content delivery networks (CDN) are increasingly used to deliver web sites and other content with reduced client-perceived latency. These conventional CDNs are dedicated to serving content using a distributed architecture spread over large geographic areas and sometimes spanning the globe. The techniques used to accelerate content distribution can generally be categorized as replica placement algorithms or caching algorithms.
Replica placement algorithms tend to be evaluated infrequently with many hours or days elapsing between evaluations. As the evaluations are made infrequently, the replica placement algorithms can use much more complex and elaborate calculations. Depending on the network capacity and size, nodes using the replica placement algorithm usually have time to share the information contained in node with other nodes on the network.
Sharing content once a week, daily, or every several hours can be done using replica replacement algorithms without impacting processing and performance. The replica placement information describes the location of an object on different nodes on a network and facilitates increased use of the content on nearby nodes. Retrieving content from a node generally incurs less delay when compared with retrieving the original content over long-distances or from slower storage devices. Unfortunately, the replica placement algorithms often use a centralized network design that does scale well for rapid growth and expansion.
Caching algorithms offer more scalability but lack the performance offered by replica placement algorithms. Conventional caching is evaluated after every access potentially causing the contents of the cache to change rapidly. Notifying other nodes on the contents of the cache cannot be done efficiently as it would involve large amounts of bandwidth. Even if this information were distributed at regular intervals, the cache content information would become stale quickly as cache""s content often changes quickly. Like replica placement algorithms, latency can be increased significantly if the content is not in the cache and must be retrieved over potentially long-distances or from slower servers.